{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# 文本翻译-通用版组件\n",
    "\n",
    "## 目标\n",
    "使用文本翻译组件将文本翻译成目标语言。\n",
    "\n",
    "## 准备工作\n",
    "### 平台注册\n",
    "1.先在appbuilder平台注册，获取token\n",
    "\n",
    "2.安装appbuilder-sdk"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "!pip install appbuilder-sdk"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 基本用法\n",
    "\n",
    "### 快速开始\n",
    "\n",
    "通过如下示例代码可以快速开始使用文本翻译组件："
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "import os\n",
    "import appbuilder\n",
    "\n",
    "# 请前往千帆AppBuilder官网创建密钥，流程详见：https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5\n",
    "os.environ[\"APPBUILDER_TOKEN\"] = '...'\n",
    "\n",
    "translate = appbuilder.Translation()\n",
    "resp = translate(appbuilder.Message(\"你好\\n中国\"), from_lang=\"zh\", to_lang=\"en\")\n",
    "# 输出{'from_lang': 'zh', 'to_lang': 'en', 'trans_result': [{'src': '你好', 'dst': 'hello'}, {'src': '中国', 'dst': 'China'}]}\n",
    "print(resp.content)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 参数说明\n",
    "\n",
    "### 鉴权配置\n",
    "\n",
    "使用组件之前，请首先申请并设置鉴权参数，可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。\n",
    "\n",
    "```python\n",
    "# 设置环境中的TOKEN，以下示例略\n",
    "os.environ[\"APPBUILDER_TOKEN\"] = \"bce-YOURTOKEN\"\n",
    "```\n",
    "\n",
    "### 初始化参数说明\n",
    "\n",
    "无\n",
    "\n",
    "### 调用参数说明\n",
    "\n",
    "|参数名称 |参数类型 |是否必须 |描述 | 示例值    |\n",
    "|--------|--------|--------|----|--------|\n",
    "|message |obj:Message  |是 |输入的请求翻译文本| Message(\"你好\") |\n",
    "|from_lang|String|否 |翻译的源语言，默认为`auto`，表示自动检测语言。| zh    |\n",
    "|to_lang|Integer|否 |需要翻译的目标语言，默认为`en`，表示英语。| en  |\n",
    "|timeout| Float   | 否    | HTTP超时时间,单位：秒               |1|\n",
    "|retry|Integer|否 |HTTP重试次数| 3      |\n",
    "\n",
    "### 响应参数\n",
    "\n",
    "|参数名称 |参数类型 |描述 |示例值|\n",
    "|--------|--------|----|------|\n",
    "|from_lang  |String  |翻译源语言| zh|\n",
    "|to_lang  |String  |翻译目标语言|en|\n",
    "|trans_result  |List[Object]  |返回结果|[{'src': '你好', 'dst': 'hello'}]|\n",
    "|trans_result[0].src  |String  |源文本|你好|\n",
    "|trans_result[0].dst  |String  |目标文本|hello|\n",
    "\n",
    "### 响应示例\n",
    "\n",
    "```json\n",
    "{\n",
    "  \"from_lang\": \"zh\",\n",
    "  \"to_lang\": \"en\",\n",
    "  \"trans_result\": [\n",
    "    {\n",
    "      \"src\": \"你好\",\n",
    "      \"dst\": \"hello\"\n",
    "    }\n",
    "  ]\n",
    "}\n",
    "```\n",
    "## 语种列表\n",
    "\n",
    "|名称 |代码 |语种检测|\n",
    "|----|-----|------|\n",
    "| 阿拉伯语           | ara  | 是   |\n",
    "| 爱尔兰语           | gle  | 是   |\n",
    "| 奥克语             | oci  | 是   |\n",
    "| 阿尔巴尼亚语        | alb  | 是   |\n",
    "| 阿尔及利亚阿拉伯语   | arq  | 否   |\n",
    "| 阿肯语             | aka  | 否   |\n",
    "| 阿拉贡语           | arg  | 否   |\n",
    "| 阿姆哈拉语          | amh  | 是   |\n",
    "| 阿萨姆语           | asm  | 是   |\n",
    "| 艾马拉语           | aym  | 否   |\n",
    "| 阿塞拜疆语          | aze  | 是   |\n",
    "| 阿斯图里亚斯语       | ast  | 是   |\n",
    "| 奥塞梯语            | oss  | 否   |\n",
    "| 爱沙尼亚语          | est  | 是   |\n",
    "| 奥杰布瓦语          | oji  | 否   |\n",
    "| 奥里亚语            | ori  | 是   |\n",
    "| 奥罗莫语            | orm  | 否   |\n",
    "| 波兰语              | pl   | 是   |\n",
    "| 波斯语              | per  | 是   |\n",
    "| 布列塔尼语          | bre  | 是   |\n",
    "| 巴什基尔语          | bak  | 否   |\n",
    "| 巴斯克语            | baq  | 是   |\n",
    "| 巴西葡萄牙语        | pot  | 否   |\n",
    "| 白俄罗斯语          | bel  | 是   |\n",
    "| 柏柏尔语            | ber  | 是   |\n",
    "| 邦板牙语            | pam  | 否   |\n",
    "| 保加利亚语          | bul  | 是   |\n",
    "| 北方萨米语          | sme  | 否   |\n",
    "| 北索托语           | ped  | 否   |\n",
    "| 本巴语             | bem  | 否   |\n",
    "| 比林语             | bli  | 否   |\n",
    "| 比斯拉马语          | bis  | 否   |\n",
    "| 俾路支语            | bal  | 否   |\n",
    "| 冰岛语              | ice  | 是   |\n",
    "| 波斯尼亚语          | bos  | 是   |\n",
    "| 博杰普尔语          | bho  | 否   |\n",
    "| 楚瓦什语            | chv  | 否   |\n",
    "| 聪加语             | tso  | 否   |\n",
    "| 丹麦语             | dan  | 是   |\n",
    "| 德语               | de   | 是   |\n",
    "| 鞑靼语              | tat  | 是   |\n",
    "| 掸语               | sha  | 否   |\n",
    "| 德顿语              | tet  | 否   |\n",
    "| 迪维希语            | div  | 否   |\n",
    "| 低地德语            | log  | 是   |\n",
    "| 俄语               | ru   | 是   |\n",
    "| 法语               | fra  | 是   |\n",
    "| 菲律宾语            | fil  | 是   |\n",
    "| 芬兰语              | fin  | 是   |\n",
    "| 梵语               | san  | 否   |\n",
    "| 弗留利语            | fri  | 否   |\n",
    "| 富拉尼语            | ful  | 否   |\n",
    "| 法罗语              | fao  |   否   |\n",
    "| 盖尔语              | gla  | 否   |\n",
    "| 刚果语              | kon  | 否   |\n",
    "| 高地索布语          | ups  | 否   |\n",
    "| 高棉语             | hkm  | 是   |\n",
    "| 格陵兰语           | kal  | 否   |\n",
    "| 格鲁吉亚语         | geo  | 是   |\n",
    "| 古吉拉特语         | guj  | 是   |\n",
    "| 古希腊语           | gra  | 否   |\n",
    "| 古英语             | eno  | 否   |\n",
    "| 瓜拉尼语           | grn  | 否   |\n",
    "| 韩语               | kor  | 是   |\n",
    "| 荷兰语             | nl   | 是   |\n",
    "| 胡帕语             | hup  | 否   |\n",
    "| 哈卡钦语           | hak  | 否   |\n",
    "| 海地语             | ht   | 否   |\n",
    "| 豪萨语             | hau  | 否   |\n",
    "| 黑山语             | mot  | 否   |\n",
    "| 吉尔吉斯语          | kir  | 否   |\n",
    "| 加利西亚语          | glg  | 是   |\n",
    "| 加拿大法语          | frn  | 否   |\n",
    "| 加泰罗尼亚语        | cat  | 是   |\n",
    "| 捷克语             | cs   | 是   |\n",
    "| 卡拜尔语           | kab  | 是   |\n",
    "| 卡纳达语           | kan  | 是   |\n",
    "| 卡努里语           | kau  | 否   |\n",
    "| 卡舒比语           | kah  | 否   |\n",
    "| 康瓦尔语           | cor  | 否   |\n",
    "| 科萨语             | xho  | 是   |\n",
    "| 科西嘉语           | cos  | 否   |\n",
    "| 克里克语           | cre  | 否   |\n",
    "| 克里米亚鞑靼语      | cri  | 否   |\n",
    "| 克林贡语           | kli  | 否   |\n",
    "| 克罗地亚语         | hrv  | 是   |\n",
    "| 克丘亚语           | que  | 否   |\n",
    "| 克什米尔语         | kas  | 否   |\n",
    "| 孔卡尼语           | kok  | 否   |\n",
    "| 库尔德语           | kur  | 是   |\n",
    "| 拉丁语             | lat  | 是   |\n",
    "| 老挝语             | lao  | 否   |\n",
    "| 罗马尼亚语          | rom  | 是   |\n",
    "| 拉特加莱语          | lag  | 否   |\n",
    "| 拉脱维亚语          | lav  | 是   |\n",
    "| 林堡语             | lim  | 否   |\n",
    "| 林加拉语           | lin  | 否   |\n",
    "| 卢干达语           | lug  | 否   |\n",
    "| 卢森堡语           | ltz  | 否   |\n",
    "| 卢森尼亚语         | ruy  | 否   |\n",
    "| 卢旺达语           | kin  | 是   |\n",
    "| 立陶宛语           | lit  | 是   |\n",
    "| 罗曼什语           | roh  | 否   |\n",
    "| 罗姆语             | ro   | 否   |\n",
    "| 逻辑语             | loj  | 否   |\n",
    "| 马来语             | may  | 是   |\n",
    "| 缅甸语             | bur  | 是   |\n",
    "| 马拉地语           | mar  | 否   |\n",
    "| 马拉加斯语          | mg   | 是   |\n",
    "| 马拉雅拉姆语         | mal  | 是   |\n",
    "| 马其顿语            | mac  | 是   |\n",
    "| 马绍尔语            | mah  | 否   |\n",
    "| 迈蒂利语            | mai  | 是   |\n",
    "| 曼克斯语            | glv  | 否   |\n",
    "| 毛里求斯克里奥尔语    | mau  | 否   |\n",
    "| 毛利语              | mao  | 否   |\n",
    "| 孟加拉语            | ben  | 是   |\n",
    "| 马耳他语            | mlt  | 是   |\n",
    "| 苗语               | hmn  | 否   |\n",
    "| 挪威语              | nor  | 是   |\n",
    "| 那不勒斯语           | nea  | 否   |\n",
    "| 南恩德贝莱语         | nbl  | 否   |\n",
    "| 南非荷兰语           | afr  | 是   |\n",
    "| 南索托语             | sot  | 否   |\n",
    "| 尼泊尔语             | nep  | 是   |\n",
    "| 葡萄牙语             | pt   | 是   |\n",
    "| 旁遮普语             | pan  | 是   |\n",
    "| 帕皮阿门托语          | pap  | 否   |\n",
    "| 普什图语             | pus  | 否   |\n",
    "| 齐切瓦语             | nya  | 否   |\n",
    "| 契维语               | twi  | 否   |\n",
    "| 切罗基语             | chr  | 否   |\n",
    "| 日语                 | jp   | 是   |\n",
    "| 瑞典语               | swe  | 是   |\n",
    "| 萨丁尼亚语            | srd  | 否   |\n",
    "| 萨摩亚语              | sm   | 否   |\n",
    "| 塞尔维亚-克罗地亚语     | sec  | 否   |\n",
    "| 塞尔维亚语             | srp  | 是   |\n",
    "| 桑海语                | sol  | 否   |\n",
    "| 僧伽罗语              | sin  | 是   |\n",
    "| 世界语                | epo  | 是   |\n",
    "| 书面挪威语             | nob  | 是   |\n",
    "| 斯洛伐克语             | sk   | 是   |\n",
    "| 斯洛文尼亚语           | slo  | 是   |\n",
    "| 斯瓦希里语             | swa  | 是   |\n",
    "| 索马里语               | som  | 是   |\n",
    "| 塞尔维亚语（西里尔）     | src  | 否   |\n",
    "| 泰语                  | th   | 是   |\n",
    "| 土耳其语               | tr   | 是   |\n",
    "| 塔吉克语               | tgk  | 是   |\n",
    "| 泰米尔语               | tam  | 是   |\n",
    "| 他加禄语               | tgl  | 是   |\n",
    "| 提格利尼亚语            | tir  | 否   |\n",
    "| 泰卢固语               | tel  | 是   |\n",
    "| 突尼斯阿拉伯语          | tua  | 否   |\n",
    "| 土库曼语               | tuk  | 否   |\n",
    "| 乌克兰语               | ukr  | 是   |\n",
    "| 瓦隆语                 | wln  | 是   |\n",
    "| 威尔士语               | wel  | 是   |\n",
    "| 文达语                 | ven  | 否   |\n",
    "| 沃洛夫语               | wol  | 否   |\n",
    "| 乌尔都语               | urd  | 是   |\n",
    "| 西班牙语               | spa  | 是   |\n",
    "| 希伯来语               | heb  | 是   |\n",
    "| 希腊语                 | el   | 是   |\n",
    "| 匈牙利语               | hu   | 是   |\n",
    "| 西弗里斯语              | fry  | 是   |\n",
    "| 西里西亚语              | sil  | 否   |\n",
    "| 希利盖农语              | hil  | 否   |\n",
    "| 下索布语                | los  | 否   |\n",
    "| 夏威夷语                | haw  | 否   |\n",
    "| 新挪威语                | nno  | 是   |\n",
    "| 西非书面语              | nqo  | 否   |\n",
    "| 信德语                 | snd  | 否   |\n",
    "| 修纳语                 | sna  | 否   |\n",
    "| 宿务语                 | ceb  | 否   |\n",
    "| 叙利亚语               | syr  | 否   |\n",
    "| 巽他语                 | sun  | 否   |\n",
    "| 英语                   | en   | 是   |\n",
    "| 印地语                 | hi   | 是   |\n",
    "| 印尼语                 | id   | 是   |\n",
    "| 意大利语               | it   | 是   |\n",
    "| 越南语                 | vie  | 是   |\n",
    "| 意第绪语               | yid  | 否   |\n",
    "| 因特语                 | ina  | 否   |\n",
    "| 亚齐语                 | ach  | 否   |\n",
    "| 印古什语               | ing  | 否   |\n",
    "| 伊博语                 | ibo  | 否   |\n",
    "| 伊多语                 | ido  | 否   |\n",
    "| 约鲁巴语               | yor  | 否   |\n",
    "| 亚美尼亚语             | arm  | 是   |\n",
    "| 伊努克提图特语          | iku  | 否   |\n",
    "| 中文(简体)             | zh   | 是   |\n",
    "| 中文(繁体)             | cht  | 是   |\n",
    "| 中文(文言文)           | wyw  | 是   |\n",
    "| 中文(粤语)             | yue  | 是   |\n",
    "| 扎扎其语               | zaz  | 否   |\n",
    "| 中古法语               | frm  | 否   |\n",
    "| 祖鲁语                 | zul  | 否   |\n",
    "| 爪哇语                 | jav  | 否   |\n",
    "\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}